package com.base.controller;

import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.base.service.NoticesService;
import com.base.utils.Page;

/**
 * 帮助公告信息服务端
 * 
 * @author f
 *
 */
@Controller
@RequestMapping("/admin")
public class index_Notices {

	@Autowired
	private NoticesService noticesService; // 帮助信息

	/**
	 * 帮助中心
	 * 
	 * @param request 获取参数
	 * @param currentPageNo 当前页
	 * @param type 分类
	 * @param createtime 发布时间
	 * @return ModelAndView
	 * @throws Exception
	 */
	@RequestMapping("/noticesIndex")
	public ModelAndView noticesIndex(HttpServletRequest request, Integer currentPageNo, Integer type, String createtime)
			throws Exception {
		String userid = (String) request.getSession().getAttribute("adminUserId"); // 登录的用户ID
		if (userid == null) return new ModelAndView("jsp/loginCheck"); // 未登录
		Map<String, Object> map = new HashMap<>(); // 存储数据对象
		// 设置分页 获取内容
		Page page = new Page(); // 实例化分页工具类
		if (currentPageNo != null) page.setCurrentPageNo(currentPageNo); // 设置当前页
		page.setRecordTotal(noticesService.countByAll(userid, type, createtime)); // 设置总条数
		map.put("nosList", noticesService.selectByAll(page, userid, type, createtime)); // 存储帮助内容
		map.put("type", type); // 分类
		map.put("createtime", createtime); // 时间
		map.put("pages", page); // 存储分页
		return new ModelAndView("jsp/index_Notices", map);
	}

	// 跳转添加
	@RequestMapping("/addNotices")
	public String addNotices() throws Exception {
		return "jsp/add_Notices";
	}

	// 跳转修改
	@RequestMapping("/updateNotices")
	public ModelAndView updateNotices(String id, Integer currentPageNo, Integer type, String createtime)
			throws Exception {
		Map<String, Object> map = new HashMap<>(); // 存储数据对象
		map.put("notices", noticesService.selectByPrimaryKey(id)); // 帮助中心信息
		map.put("type", type); // 分类
		map.put("createtime", createtime); // 时间
		map.put("currentPageNo", currentPageNo); // 当前页
		return new ModelAndView("jsp/update_Notices", map);
	}
}
